<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2006 DAKOSY AG (http://www.dakosy.de) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="{A379616B-3149-40EE-A128-2BF2A9618DD0}" elementFormDefault="qualified">
	<xsd:element name="Document">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Metainfo" type="metainfoDef">
					<xsd:annotation>
						<xsd:documentation>General Information</xsd:documentation>
						<xsd:documentation>Information on the transmitted data.</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="Messages">
					<xsd:complexType>
						<xsd:sequence maxOccurs="unbounded">
							<xsd:element name="Message" type="messageDef"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="businessUnitDef">
		<xsd:annotation>
			<xsd:documentation>Business unit</xsd:documentation>
			<xsd:documentation>Location of a branch office.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Code" type="String0..17">
				<xsd:annotation>
					<xsd:documentation>Place/ Location code</xsd:documentation>
					<xsd:documentation>UN/Locode; e.g. the location of the user&apos;s branch office.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Name" type="String0..35" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Location name.</xsd:documentation>
					<xsd:documentation>If there is no UN/LoCode available for this place, alternatively the name can be set.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="communicationDef">
		<xsd:annotation>
			<xsd:documentation>Communication information.</xsd:documentation>
			<xsd:documentation>Contains information on sender, recipients and creation time.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Participants">
				<xsd:annotation>
					<xsd:documentation>Communication participants</xsd:documentation>
					<xsd:documentation>Up to 11 entries can be sent:</xsd:documentation>
					<xsd:documentation>SENDER - mandatory with DAKOSY-code</xsd:documentation>
					<xsd:documentation>EDI_PROVIDER - optional; &apos;DAKOSY&apos;, if message should be processed by DAKOSY</xsd:documentation>
					<xsd:documentation>RECIPIENT - mandatory with DAKOSY-Code. Maximum of nine entries is possible.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Participant" type="participantDef" minOccurs="2" maxOccurs="11"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="CreationTime" type="xsd:dateTime">
				<xsd:annotation>
					<xsd:documentation>Date and time of message creation.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="messageDef">
		<xsd:annotation>
			<xsd:documentation>General Message definition</xsd:documentation>
			<xsd:documentation>Describes the contents of a message (metainfo and data)</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Metainfo" type="messageInfoDef" minOccurs="0"/>
			<xsd:element name="Response" type="ResponseType"/>
		</xsd:sequence>
		<xsd:attribute name="ReferenceNumber" use="required">
			<xsd:annotation>
				<xsd:documentation>Unique Reference Number to identify a single message.</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:minLength value="1"/>
					<xsd:maxLength value="35"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="Status" use="required">
			<xsd:annotation>
				<xsd:documentation>Message status</xsd:documentation>
				<xsd:documentation>original: first message</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="original"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="messageInfoDef">
		<xsd:sequence>
			<xsd:element name="User" type="userDef" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>User information</xsd:documentation>
					<xsd:documentation>Information on the user who sent the message.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="metainfoDef">
		<xsd:annotation>
			<xsd:documentation>Metainfo</xsd:documentation>
			<xsd:documentation>Contains information concerning transaction type, communication parties etc.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Transaction" type="transactionDef">
				<xsd:annotation>
					<xsd:documentation>Transaction type</xsd:documentation>
					<xsd:documentation>Specifies the transaction type (GM01, AB01 etc.). Only one transaction per file is allowed. Different types must be sent in separate files.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Application" type="String0..35" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Application name</xsd:documentation>
					<xsd:documentation>Name of the application served by the interface.</xsd:documentation>
					<xsd:documentation>E.g. SEEDOS, ATLAS</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Communication" type="communicationDef"/>
		</xsd:sequence>
		<xsd:attribute name="Test" type="xsd:boolean" default="0">
			<xsd:annotation>
				<xsd:documentation>Testflag</xsd:documentation>
				<xsd:documentation>0 - false (default);</xsd:documentation>
				<xsd:documentation>1- true; transmission for test purpose</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="Count" type="xsd:int">
			<xsd:annotation>
				<xsd:documentation>Number of messages</xsd:documentation>
				<xsd:documentation>Number of messages (elements) that are collected in the transmitted file.</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="ExchangeNumber" type="String1..10" use="required">
			<xsd:annotation>
				<xsd:documentation>Exchange Reference Number, Unique Referenc for each Transmitted file.</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="participantDef">
		<xsd:sequence>
			<xsd:element name="Code" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>DAKOSY-code</xsd:documentation>
					<xsd:documentation>4-letter code identifying the participant</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute name="Alias" use="required">
								<xsd:annotation>
									<xsd:documentation>application usage</xsd:documentation>
									<xsd:documentation>Alias code. Describes how the participant is identified in another system, e.g. DAK as DAKOSY-code. Other identifiers are not specified yet.</xsd:documentation>
								</xsd:annotation>
								<xsd:simpleType>
									<xsd:restriction base="xsd:token">
										<xsd:enumeration value="DAK"/>
									</xsd:restriction>
								</xsd:simpleType>
							</xsd:attribute>
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Name" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>participant name</xsd:documentation>
					<xsd:documentation>just for informal use</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Pwd" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Password</xsd:documentation>
					<xsd:documentation>Needs only to be set if required by the specified role.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="Role" use="required">
			<xsd:annotation>
				<xsd:documentation>
SENDER
RECIPIENT
EDI_PROVIDER
ORIGINAL_SENDER
        </xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="EDI_PROVIDER"/>
					<xsd:enumeration value="RECIPIENT"/>
					<xsd:enumeration value="SENDER"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ResponseType">
		<xsd:sequence>
			<xsd:element name="References">
				<xsd:complexType>
					<xsd:sequence maxOccurs="unbounded">
						<xsd:element name="Reference">
							<xsd:annotation>
								<xsd:documentation>Reference</xsd:documentation>
								<xsd:documentation>
Unique Reference Number to identify a single message.
First reference always Message reference of the original message
                </xsd:documentation>
							</xsd:annotation>
							<xsd:complexType>
								<xsd:simpleContent>
									<xsd:extension base="xsd:string">
										<xsd:attribute name="Type" use="required">
											<xsd:annotation>
												<xsd:documentation>ReferenceType</xsd:documentation>
												<xsd:documentation>MSGREF = Message reference</xsd:documentation>
											</xsd:annotation>
											<xsd:simpleType>
												<xsd:restriction base="xsd:string"/>
											</xsd:simpleType>
										</xsd:attribute>
									</xsd:extension>
								</xsd:simpleContent>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="Description" type="xsd:string" minOccurs="0">
							<xsd:annotation>
								<xsd:documentation>Description</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="DateTimes">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="DateTime" maxOccurs="unbounded">
							<xsd:annotation>
								<xsd:documentation>DateTime</xsd:documentation>
							</xsd:annotation>
							<xsd:complexType>
								<xsd:simpleContent>
									<xsd:extension base="xsd:dateTime">
										<xsd:attribute name="Type" use="required">
											<xsd:annotation>
												<xsd:documentation>DateTimeType</xsd:documentation>
												<xsd:documentation>
creation
 receipt
                        </xsd:documentation>
											</xsd:annotation>
											<xsd:simpleType>
												<xsd:restriction base="xsd:string">
													<xsd:enumeration value="creation"/>
													<xsd:enumeration value="receipt"/>
												</xsd:restriction>
											</xsd:simpleType>
										</xsd:attribute>
									</xsd:extension>
								</xsd:simpleContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Texts">
				<xsd:annotation>
					<xsd:documentation>Texts</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence maxOccurs="unbounded">
						<xsd:element name="Text">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="Code">
										<xsd:annotation>
											<xsd:documentation>Code</xsd:documentation>
											<xsd:documentation>DAKOSY Code</xsd:documentation>
										</xsd:annotation>
										<xsd:simpleType>
											<xsd:restriction base="xsd:string"/>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="Severity" minOccurs="0">
										<xsd:annotation>
											<xsd:documentation>Severity</xsd:documentation>
											<xsd:documentation>
Severity:
0 = information
1 = normal
2 = important
3 = urgent
4 = critical
5 = fatal
                      </xsd:documentation>
										</xsd:annotation>
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:length value="1"/>
												<xsd:enumeration value="0"/>
												<xsd:enumeration value="1"/>
												<xsd:enumeration value="2"/>
												<xsd:enumeration value="3"/>
												<xsd:enumeration value="4"/>
												<xsd:enumeration value="5"/>
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="FreeText" minOccurs="0">
										<xsd:annotation>
											<xsd:documentation>FreeText</xsd:documentation>
										</xsd:annotation>
										<xsd:simpleType>
											<xsd:restriction base="xsd:string"/>
										</xsd:simpleType>
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Addresses" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Addresses</xsd:documentation>
					<xsd:documentation>Optional details on SENDER, e.g. Department or Location</xsd:documentation>
					<xsd:documentation>Not used by now</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Address">
							<xsd:annotation>
								<xsd:documentation>Address</xsd:documentation>
							</xsd:annotation>
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="UnformattedLine" minOccurs="0" maxOccurs="5">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="35"/>
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="Name" maxOccurs="5">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="35"/>
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="Street" maxOccurs="5">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="35"/>
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="City">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="35"/>
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="PostCode">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="9"/>
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="Country" type="xsd:string"/>
								</xsd:sequence>
								<xsd:attribute name="Role" type="xsd:string" use="required"/>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="Type" use="required">
			<xsd:annotation>
				<xsd:documentation>ResponseType</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:enumeration value="ERROR"/>
					<xsd:enumeration value="INFO"/>
					<xsd:enumeration value="STATUS"/>
					<xsd:enumeration value="WARNING"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:simpleType name="String0..17">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="0"/>
			<xsd:maxLength value="17"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="String0..35">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="0"/>
			<xsd:maxLength value="35"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="String1..10">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
			<xsd:maxLength value="10"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="transactionDef">
		<xsd:sequence>
			<xsd:element name="Descr" type="String0..35" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Transaction name</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Provider" type="String0..35" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Message provider</xsd:documentation>
					<xsd:documentation>name of the party who is responsible for the underlying scheme.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="Version" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:documentation>Version of message definition</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="Code" type="String0..17" use="required">
			<xsd:annotation>
				<xsd:documentation>Message type</xsd:documentation>
				<xsd:documentation>Code defined by the provider for the specified transaction, e.g.</xsd:documentation>
				<xsd:documentation>GM01 = customs declaration</xsd:documentation>
				<xsd:documentation>AC02 = transport order</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="Type" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:documentation>TransaktionType</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="transactionInfo">
		<xsd:annotation>
			<xsd:documentation>Transaction information</xsd:documentation>
		</xsd:annotation>
	</xsd:complexType>
	<xsd:complexType name="userDef">
		<xsd:sequence>
			<xsd:element name="Name" type="String0..35">
				<xsd:annotation>
					<xsd:documentation>Name</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Phone" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Phone number</xsd:documentation>
					<xsd:documentation>plain text without validation. Either phone number or e-mail address must be filled if the user-element is transmitted.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Email" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>E-mail</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="BusinessUnit" type="businessUnitDef" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
